Digital signal processing is the arithmetic processing of read-time signals sampled at regular intervals and digitized. A digital signal processor (DSP) is used for digital signal processing functions such as filtering, mixing, and comparison of signals. In some data processing systems, a DSP may be included with a host processor to deal with any digital signal processing chores. A host processor may include, for example, a microcomputer or a microprocessor.
A basic operation in a DSP is a multiply/accumulate (MAC) operation. Circuits which multiply two binary numbers and add, or accumulate, the result with a third binary number are commonly used in digital signal processing. In digital signal processing algorithms, such as for doing Fourier transforms, finite impulse response (FIR) filters, infinite impulse response (IIR) filters, and the like, it is helpful to have the capability to perform a MAC instruction using hardware.
Some applications require more accuracy, or more precision, in an arithmetic operation than other applications. For example, high fidelity sound may require more bits for a higher degree of accuracy than are required for voice transmissions. In contrast, some applications may require a particular number of bits, regardless of the ability to provide greater accuracy, and the greater precision from using more bits is not allowed. For example, standards in cellular communications, such as the GSM standards in Europe, require that a certain input bitstream results in an exact bit accurate output. The GSM standards require exactly 16 bits of precision and will not allow more bits of precision. However, many of today's multimedia applications for digital signal processing may require high audio quality while also having the capability of conforming to GSM standards in a cellular communication environment.